// 封装axios实例的拦截器(请求, 响应)
import axios from "axios";
// 消息提示
import { Message } from "element-ui"; //单独引入

const instance = axios.create({
  timeout: 15000, // 超时时间15s
  baseURL: "http://kumanxuan1.f3322.net:8360", // ip+端口, 公用的前缀路径
});

// 重写实例请求前拦截器
instance.interceptors.request.use(
  (config) => {
    let token = localStorage.getItem("token");
    if (token) {
      // 统一携带请求头
      config.headers["X-Nideshop-Token"] = token;
    }
    return config;
  },
  (err) => {
    return Promise.reject(err);
  }
);

// 重写实例响应后拦截器
instance.interceptors.response.use(
  (result) => {
    //   错误信息拦截器处理  --- 消息提示
    if (result.data.errno !== 0) {
      Message({
        message: result.data.errmsg || "错误信息",
        type: "warning",
      });
    }
    return result.data;
  },
  (err) => {
    return Promise.reject(err);
  }
);

// 导出axios实例
export default instance;
